|
||||
|
Ремизов Константин Анатольевич Исследование и анализ эффективности работы кластерных систем типа клиент-сервер с неразделяемыми серверами приложений.
Проблема поднятая в моей диссертации существует уже давно, а именно со времени изобретения первого счетного устройства, так как люди от вычислительных устройств ждут не только качественной работы, но и быстроты за сравнительно небольшие деньги. Выход лежит на поверхности – это использование в работе мультипроцессорных систем. Но и тут сразу же возникают проблемы – а как будут построены такие системы, какую архитектуру лучше выбрать, как облегчить процесс наращивания мощности системы, как не выйти за ограниченный лимит стоимости системы, но при этом не потерять в ее производительности.
СОДЕРЖАНИЕ
1 Анализ современных мультипроцессорных вычислительных систем и методов оценки их эффективности. 1.1 Современные мультипроцессорные системы.. 1.1.1 Векторно-конвейерные суперкомпьютеры.. 1.1.2 Симметричные SMP системы.. 1.1.3 Системы с массовым параллелизмом MPP системы.. 1.1.4 NUMA-технология. 1.2 Кластерные системы.. 1.2.1 Кластерная технология. 1.3 Существующие методы оценки эффективности кластерных систем. 1.3.1 Вероятностный подход. 1.3.2 Аналитические методы.. 1.3.3 Численные методы.. 1.3.4 Экспериментальные методы.. 1.4 Задачи исследования мультипроцессорных систем. 1.4.1 Задача синтеза. 1.4.2 Задача анализа. 2 Математическое описание модели. ВЫВОДЫ..
1 Анализ современных
мультипроцессорных вычислительных систем и методов оценки их эффективности Двумя основными проблемами построения вычислительных систем для критически важных приложений, связанных с обработкой транзакций, управлением базами данных и обслуживанием телекоммуникаций, являются обеспечение высокой производительности и продолжительного функционирования систем. Наиболее эффективный способ достижения заданного уровня производительности - применение параллельных масштабируемых архитектур.
1.1 Современные
мультипроцессорные системы Основной характеристикой при классификации многопроцессорных вычислительных систем является способ организации оперативной памяти. В случае наличия общей памяти с равноправным доступом к ней от всех процессоров говорят о симметричных мультипроцессорных системах (SMP), а при использовании распределенной памяти, когда каждый процессор снабжается собственной локальной памятью, и прямой доступ к памяти других процессоров невозможен, речь идет о системах с массовым параллелизмом (MPP). Нечто среднее между SMP и MPP представляют собой NUMA-архитектуры (Non Uniform Memory Access), в которых память физически распределена, но логически общедоступна. При этом время доступа к различным блокам памяти становится неодинаковым. В одной из первых систем этого типа Cray T3D время доступа к памяти другого процессора было в 6 раз больше, чем к своей собственной. В настоящее время развитие высокопроизводительных вычислительных систем идет по четырем основным направлениям: векторно-конвейерные суперкомпьютеры, SMP системы, MPP системы и кластерные системы.
1.1.1 Векторно-конвейерные
суперкомпьютеры Характерной особенностью векторно-конвейерных компьютеров является: а) конвейерная организация обработки потока команд; б) набор векторных операций в системе команд, которые оперируют целыми массивами данных. Исторически это были первые компьютеры, к которым в полной мере было применимо понятие суперкомпьютер. Однако в настоящее время их доля в суперкомпьютерном парке неуклонно снижается ввиду их чрезвычайной дороговизны и невысокой степени масштабируемости. Как правило, несколько таких процессоров (2-16 штук) работают в режиме с общей памятью (SMP), образуя вычислительный узел, а несколько таких узлов объединяются с помощью коммутатора аналогично MPP-системам. Типичными представителями такой архитектуры являются компьютеры CRAY J90/T90, CRAY SV1, NEC SX-4/SX-5, серия Fujitsu VPP.
1.1.2 Симметричные
SMP системы Современные системы SMP архитектуры состоят, как правило, из нескольких однородных микропроцессоров и массива общей памяти (рис.1.1). Все процессоры имеют равноправный доступ к любой точке общей памяти.
К основным достоинствам технологии SMP относится следующие положения: а) простота организации вычислительного процесса, т.к. все процессоры обращаются к единой памяти по одному алгоритму; б) эффективность организации программного кода задачи, которая обеспечивается системным программным обеспечением, так как в процессе генерации кода нет необходимости учитывать разнообразие размещения данных в оперативной памяти; в) проверенное большим сроком эксплуатации программно-аппаратное решение, реализованное основными производителями вычислительных систем. Наряду с вышеперечисленными достоинствами рассматриваемая технология обладает и рядом существенных недостатков: а) единый путь доступа к оперативной памяти, который становится узким местом, при увеличении числа процессоров в системе. То есть достигается такой предельный трафик, при котором увеличение числа процессоров приводит к нелинейному росту производительности системы, либо, как предельный случай, к её снижению по причине конфликтных ситуаций возникающих на пути доступа к оперативной памяти. Попытка технологически решить эту проблему лишь отодвигает граничный трафик. Так архитектура с синхронной шиной доступа позволяла линейно увеличивать производительность системы в пределах до 8-ми процессоров. Пакетная организация системной шины, уменьшая количество взаимных блокировок, позволяет довести количество процессоров в системе до 16-ти штук. Технология crossbar, т.е. когда элементы вычислительной системы коммутируются напрямую друг с другом по протоколу точка-точка, позволила довести количество процессоров до 72-х штук. Однако с увеличением количества коммутируемых элементов системы происходит резкий рост сложности crossbar и, как следствие, рост цены устройства. б) увеличение количества процессоров усложняет логическую часть вычислительной системы, которая отвечает за работу с кэшем, в частности за когерентность, что также влияет на производительность и цену системы. Примеры таких систем: HP 9000 V-class, N-class; SMP-cервера и рабочие станции на базе процессоров Intel (IBM, HP, Compaq, Dell, ALR, Unisys, DG, Fujitsu и др.).
1.1.3 Системы
с массовым параллелизмом MPP системы Компьютеры этого типа представляют собой многопроцессорные системы с распределенной памятью, которые с помощью некоторой коммуникационной среды объединяются в однородные вычислительные узлы (рис. 1.2).
Каждый из узлов состоит из процессора, собственной оперативной памяти, коммуникационного оборудования, подсистемы ввода/вывода, т.е. обладает всем необходимым для независимого функционирования. При этом на каждом узле может функционировать либо полноценная операционная система (как в RS/6000 SP2), либо урезанный вариант, поддерживающий только базовые функции ядра, а полноценная операционная система работает на специальном управляющем компьютере (Cray T3E, nCUBE2). Основное достоинство таких систем - это высокая степень масштабируемости. Для достижения необходимой производительности требуется просто собрать систему с нужным числом узлов. Успешно функционируют MPP системы с сотнями и тысячами узлов (ASCI Red - 9632, Blue Mountain - 6144), производительность которых превысила 2 Tflops (2 триллиона оп/сек). Однако у таких систем есть и существенный недостаток. Межпроцессорные обмены данными в компьютерах этого типа выполняются намного медленнее, чем локальная обработка данных самими процессорами. Поэтому написание эффективных программ для таких компьютеров представляет собой сложную задачу, а для некоторых алгоритмов вообще невозможно. Современное направление развития МРР-систем заключается в увеличении мощности узла путем подсоединения дополнительных процессоров и, по существу, превращения его в SMP-узел. МРР-архитектуры привлекательны в первую очередь для разработчиков аппаратных средств, так как в этом случае возникает меньше проблем и ниже стоимость аппаратуры. Примеры IBM RS/6000 SP2, Intel PARAGON/ASCI Red, SGI/CRAY T3E, Hitachi SR8000, транспьютерные системы Parsytec.
Технология NUMA доступа к оперативной памяти составляет альтернативу одноранговому доступу для SMP систем и в настоящее время начинает приобретать все большую популярность среди производителей традиционных SMP компьютеров. Основная идея NUMA архитектуры заключается в образовании основной вычислительной системы посредством объединения однотипных модулей, коммутируемых высокоскоростной сетью. Каждый модуль может состоять из одного или нескольких процессоров со своей локальной памятью, которая образует единое адресное пространство системы и часто подсистемы ввода/вывода. К основным достоинствам NUMA архитектуры следует отнести следующие положения: а) на базе NUMA архитектуры можно построить систему с большим числом процессоров, чем в SMP архитектуре, т.е. вычислительная система хорошо масштабируется по числу процессоров; б) масштабирование NUMA систем не добавляет сложности в логическую часть аппаратуры, что увеличивает устойчивость вычислительной системы в целом, одновременно, снижая общую стоимость; в) на NUMA архитектуру хорошо ложатся задачи, в которых множество процессов не пересекаются по общим данным, либо при пересечении все процессы могут быть исполнены в рамках одного модуля; г) на основе NUMA архитектуры легко реализуется разбиение системы на виртуально независимые машины (партиции - это программная или аппаратная реализация виртуальной машины). К недостаткам NUMA архитектуры следует отнести нижеследующие положения: а) молодость реализаций NUMA архитектуры смущает пользователей, считающих её недостаточно зрелой. Хотя, это решение было сформулировано еще в начале 90-х годов, но возможности SMP архитектуры ещё не были исчерпаны, что обуславливало традиционных производителей строить свои компьютеры в основном на базе SMP архитектуры. б) необходимость иметь специализированное системное программное обеспечение, которое организует вычислительный процесс, исходя из основного принципа NUMA архитектуры - память и процессоры для процесса должны принадлежать одному модулю. Только выполняя это условие можно достичь высокой эффективности применения компьютеров с NUMA архитектурой. в) большинство кодов прикладных программ оттранслированы для SMP систем и запуск их без перекомпиляции на NUMA системах, вполне вероятно, не приведет к эффективному их исполнению. Такое заключение сделано на основе положения, что транслятор в основном запрашивает требуемую для задачи как статическую, так и динамическую память и естественно оказывает влияние на её распределение. Примеры таких систем: HP 9000 V-class в SCA-конфигурациях, SGI Origin2000, Sun HPC 100000, IBM/Sequent NUMA-Q 2000, SNI RM600.
Кластерные технологии стали логическим продолжением развития идей, заложенных в архитектуре MPP систем. В самом начале кластеры применяли для увеличения надежности компьютеров, сейчас эта технология также позволяет увеличить быстродействие вычислительной платформы. Кроме этих двух характеристик кластерной технологии — быстродействия и надежности — есть еще несколько дополнительных требований, которые важны при использовании кластеров в современных вычислительных системах. Вот эти требования: а) скорость резервного копирования и восстановления данных; б) функциональные возможности по переносу нагрузки с аварийных узлов на исправные узлы; в) параллельный доступ к базе данных; г) средства настройки высокого уровня готовности; д) единое внешнее представление системы; е) восстановление после аварии.
Кластер объединяет несколько серверов, соединенных между собой специальным коммуникационным каналом, часто называемым также «системной сетью» (см. рис. 1.3). Рисунок 1.3 – Кластерная система Примечание: 1. LAN – Local Area Network - локальная сеть; 2. SAN – Storage Area Network - сеть хранения данных Впервые в классификации вычислительных систем термин
"кластер" определила компания Digital Equipment Corporation
(DEC). По определению DEC, кластер - это группа вычислительных машин,
которые связаны между собою и функционируют как один узел обработки
информации. Неотъемлемой частью кластера является специальное программное обеспечение, которое, собственно, и решает проблему восстановления узла в случае сбоя, позволяет перезапускать приложения вышедшего из строя узла, а также решает другие задачи, например, изменяет IP-адрес сервера приложений, если он вышел из строя, и выполнение переложено на другой узел. Кластерное программное обеспечение обычно имеет несколько заранее заданных сценариев восстановления работоспособности системы, а также может предоставлять администратору возможности настройки таких сценариев. Кластеры могут иметь разделяемую память на внешних дисках, как правило, на дисковом массиве RAID. Общая файловая система осуществляет доступ к разделяемым дискам по общим интерфейсам, что требует определенной координации доступа, для того чтобы не возникало попыток одновременно изменить один и тот же файл на диске.
1.3 Существующие
методы оценки эффективности кластерных систем Одним из бесспорных преимуществ кластерных технологий перед "традиционными" суперкомпьютерами является соотношение цена/ производительность. Производительность кластеров повышается за счет увеличения количества серверов или количества дисков, или того и другого, в зависимости от класса решаемых задач. При этом время отклика уменьшается, однако увеличивается стоимость кластера. Выигрыш, полученный за счет малого времени отклика, должен соизмеряться с ценой потерь, возникающих из-за недогрузки оборудования, что характеризуется критерием сбалансированности.
Абсолютно для всех ВС характерно наличие элемента случайности, это объясняется целым рядом причин: а) запросы на выполнение программ генерируются в случайные моменты времени; б) наличие большого числа вариантов выполнение программы; в) пакет программ для обработки состоит из случайным образом сформированного набора программ и т.д. Изучение вычислительных процессов с учетом их случайности проводится при помощи теории массового обслуживания. А в теории массового обслуживания изучаются только марковские процессы либо процессы, некоторым образом с ними связанными.
Аналитические методы состоят в преобразовании символьной информации. Эти методы состоят в построении на основе понятий и методов теории массового обслуживания математической модели объекта, отражающей свойства данной модели в математические объекты и отношения, например в дифференциальные или интегральные уравнения. Затем, для получения нужных величин или зависимостей последовательно применяют математические правила и законы к построенной модели. Важными недостатками при применении такого метода являются неразрешимость аналитических уравнений и отсутствие первообразной для подынтегральной функции и т.д. Поэтому использовать такие методы не всегда представляется возможным, однако решение, полученное в аналитической форме, имеет очень большую ценность.
Численные методы состоят в построении конечной последовательности действий над числами, приводящей к получению требуемых результатов. В том случае, если математическая модель уже построена, то все математические операции и отношения просто заменяются соответствующими операциями над числами, так интегралы следует заменить суммами, производные – разностными отношениями, бесконечные суммы – конечными суммами и т.д. Результатом применения данного метода являются таблицы зависимостей. Данным методом можно решать гораздо больший класс задач, хотя в данном методе есть такой недостаток – часто бывает трудным построить математическую модель. 1.3.4 Экспериментальные
методы Экспериментальные методы основываются на измерении характеристик вычислительных процессов, происходящих в реальных системах, и выявлении зависимостей при обработке результатов измерений. При использовании данных методов получают наиболее достоверные результаты, однако они носят частный характер. Данные результаты используют при проектировании новых ВС.
1.4 Задачи
исследования мультипроцессорных систем Задачей исследования является, как задача оптимального синтеза системы, направленная на выбор способа построения системы, наилучшим образом отвечающая современным запросам, так и задача анализа ВС с целью качественной и количественной оценки основных параметров выбранной модели.
Исходными данными для решения данной задачи являются: а) функция системы, т.е. перечень прикладных задач, которые будут решаться на данной системе; б) перечень ограничений, которые возлагаются на характеристики системы, это могут быть ограничения на стоимость, либо на производительность, либо на время решения задачи; в) критерий эффективности, который устанавливает способ оценки эффективности всей системы. Исходя из входных данных необходимо определить следующее: а) структуру системы, т.е. определить состав устройств и определить какие связи существуют между данными устройствами; б) стратегию управления вычислительными процессами системы. Чтобы четко поставить задачу синтеза необходимо располагать моделью, отображающей свойства реальной системы в математической форме.
Решение данной задачи протекает в три этапа: а) Определение концептуальной модели системы, т.е. следует установить зависимости между характеристиками процессов и параметрами объекта. б) Определение математической модели. Происходит выявление количественных характеристик между характеристиками и параметрами. Такие характеристики представляются в форме функциональных зависимостей Y=F(X), где Y – множество характеристик, X – множество параметров, описываемых в концептуальной модели. Исследование таких зависимостей может выявить разнообразные свойства объекта, такие как: степень влияния параметров на характеристики системы, предельные и экстремальные значения характеристик, взаимные отношения между характеристиками и т.д. в) Проверка достоверности модели. На данном этапе проводится сопоставление зависимостей, полученных из модели, с экспериментальными данными. Результатом решения являются модели процессов, происходящих в ВС, и закономерности, присущие процессам и системам.
2 Математическое описание
модели На рис.2.1 представлена схема исследованной МПС. Это однородная система, в состав которой входят k1+ k2 одинаковых процессоров. Каждый из процессоров имеет доступ к N каналам ввода-вывода. Каждый s-й канал обслуживает ks одинаковых внешних устройств. Процесс функционирования этой МВС можно представить следующим образом. Задачи, поступившие в ВС, становятся в очередь к системам Пр-ОП. Как только один из процессоров освобождается, программа принимается на обслуживание. По окончании этапа обслуживания в одной из систем Пр-ОП задача с вероятностью рs обращается к одному из каналов ввода-вывода.
Обслуженная одним из ВНУ системы, задача возвращается в очередь к системам Пр-ОП. Если обработка программы в системе закончена (вероятность такого события р0), задача покидает систему и взамен ее поступает новая задача, т.е. рассматриваем работу ВС с постоянным коэффициентом мультипрограммирования, равным М=M1+M2. Так как будем строить дискретную модель функционирования ВС, т.е. считаем, что изменения cостояний системы могут происходить только в дискретные моменты времени с интервалом ?, то характеризовать работу устройств системы будем следующими показателями: р01 – вероятность того, что обработка задачи завершилась в первой подсистеме; р02 – вероятность того, что обработка задачи завершилась во второй подсистеме; р12 – вероятность того, что задача перешла на дообслуживание из первой на вторую подсистему; р21 – вероятность того, что задача перешла на дообслуживание из второй на первую подсистему; qs - вероятностью завершения обслуживания программы на ВНУ канала с номером s.
В ходе выполнения магистерской диссертации планируется провести полное исследование выбранной модели, сравнить полученные результаты с реальными данными, дать рекомендации по улучшению соотношения цена/производительность. Следует отметить, что система с неразделяемыми серверами приложений была выбрана не случайно, такие системы выигрывают не только в быстродействии (нет конфликтов при доступе к общей памяти), но и в стоимостном отношении они тоже впереди (не следует решать вышеозначенную систему аппаратно). Для массивно-параллельного компьютера, в котором число процессоров может сильно меняться, всегда можно подобрать конфигурацию с заранее заданной производительностью и/или стоимостью. |
|||